#include "string.h"

#define SEED 0
#define NO_EDGE -1
#define MAX_CST -1
#define MAX_ITER 100

/* Graph structure */
struct _GRAPH {
  int ** adjacency;
  int TotalNodes;
};

typedef struct _GRAPH graph;

/******************************************
 *                prim.c                  *
 ******************************************/
void primGraph (graph * in, graph * tree);
int MinPrimGraph (graph * in);

/******************************************
 *             createGraph.c              *
 ******************************************/
void createGraph (graph * gra);

/******************************************
 *              printGraph.c              *
 ******************************************/
void printGraph (graph * gra);

/******************************************
 *              initialize.c              *
 ******************************************/
void initializeGraph(graph * ref, int size);

void freeGraph(graph * ref);

/******************************************
 *               read_file.c              *
 ******************************************/
void leArquivo(graph * G, char * caminho, int *numTerm, int ** terminais);

/******************************************
 *             grafo_dist.c               *
 ******************************************/
graph * grafoDist(graph * aux, graph * G, int *lv, int numTerm, int *** pred);


/******************************************
 *             buscalocal.c               *
 ******************************************/
int buscaLocal(int ** saida, int * entrada, graph * g, int tament, int * tamsaida, int * terms, int nterms);
